home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / BlueDot Hack ƒ / Adobe Plug-in Kit / Interface-Effect.h next >
Encoding:
Text File  |  1995-09-10  |  1.5 KB  |  55 lines  |  [TEXT/KAHL]

  1. //———————————————————————————————————————————————
  2. //
  3. //    ©1991 Adobe Systems Inc.
  4. //    written by Randy Ubillos
  5. //
  6. //———————————————————————————————————————————————
  7.  
  8. //——————————————————————————————————————
  9. // Effect callback prototypes
  10.  
  11. typedef pascal short (*FXCallBackProcPtr)(long frame, short track, 
  12.                                         CGrafPtr thePort,Rect theBox, Handle privateData);
  13.  
  14. //——————————————————————————————————————
  15. // Effect Data Structure
  16.  
  17. typedef struct {
  18.     Handle                    specsHandle;        // specification handle
  19.     GWorldPtr                source1;            // source GWorld #1
  20.     GWorldPtr                source2;            // source GWorld #2
  21.     GWorldPtr                destination;        // Destination GWorld
  22.     long                    part;                // part / total = % complete
  23.     long                    total;
  24.     char                    previewing;            // in preview mode?
  25.     char                    arrowFlags;            // flags for direction arrows
  26.     char                    reverse;            // is effect being reversed?
  27.     char                    source;                // are sources swapped?
  28.     Point                    start;                // starting point for effect
  29.     Point                    end;                // ending point for effect
  30.     Point                    center;                // the reference center point
  31.     Handle                    privateData;        // Editor private data handle
  32.     FXCallBackProcPtr        callBack;            // callback, not valid if nil
  33. } EffectRecord, **EffectHandle;
  34.  
  35. // Selector messages
  36. enum {
  37.     esExecute = 0,
  38.     esSetup
  39. };
  40.  
  41. // Effect Corner Bits
  42. enum {
  43.     bitTop =                0x01,
  44.     bitRight =                0x02,
  45.     bitBottom =                0x04,
  46.     bitLeft =                0x08,
  47.     bitUpperRight =            0x10,
  48.     bitLowerRight =            0x20,
  49.     bitLowerLeft =            0x40,
  50.     bitUpperLeft =            0x80
  51. };
  52.  
  53. typedef pascal short (*EffectProcPtr)(short selector, EffectHandle theData);
  54.  
  55.